package br.uniriotec.pssgbd.trab.view.controle;

import java.io.IOException;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.uniriotec.pssgbd.trab.model.bo.EstabelecimentoBO;
import br.uniriotec.pssgbd.trab.model.entidade.Estabelecimento;
import br.uniriotec.pssgbd.trab.model.entidade.Marca;
import br.uniriotec.pssgbd.trab.model.entidade.PaisOrigem;
import br.uniriotec.pssgbd.trab.model.entidade.Tipo;


public class EstabelecimentoServlet extends BaseServlet {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	protected void listar(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		try {
			List<Estabelecimento> listaEstabelecimentos = EstabelecimentoBO.getInstance().listar();
			request.setAttribute("listaEstabelecimentos", listaEstabelecimentos);

			RequestDispatcher rd = request
					.getRequestDispatcher("/pages/rotulo/listarRestaurantes.jsp");
			rd.forward(request, response);

		} catch (Exception e) {
			response.sendRedirect("erroGeral.jsp?tituloPagina=Listar Restaurantes&mensagem=Erro na listagem de Restaurantes! Detalhe: " + e.getMessage());
		}
	}
	
	protected void antesConsultar(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		try {
			
			RequestDispatcher rd = request
					.getRequestDispatcher("/pages/rotulo/consultarRestaurante.jsp");
			rd.forward(request, response);

		} catch (Exception e) {
			response.sendRedirect("erroGeral.jsp?tituloPagina=Consultar Rotulo&mensagem=Erro ao consultar o rotulo! Detalhe: " + e.getMessage());
		}

	}

	
	
	@Override
	protected void consultar(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		try {
			
			RequestDispatcher rd = null;
			
			String cidade = (String)request.getParameter("cidade");
			String bairro = (String)request.getParameter("bairro");
			String prato = (String)request.getParameter("prato");
			String minPrecoPrato = (String)request.getParameter("minPrecoPrato");
			String maxPrecoPrato =(String) request.getParameter("maxPrecoPrato");
			String classificacao =(String) request.getParameter("classificacao");
			String minPrecoBeb =(String) request.getParameter("minPrecoBeb");
			String maxPrecoBeb = (String)request.getParameter("maxPrecoBeb");
			
			
			String comando = request.getParameter("comando");
			
			if ((cidade != null)||(bairro != null)||(prato!=null)||(minPrecoPrato!=null)||(maxPrecoPrato!=null)||(classificacao!=null)||(minPrecoBeb!=null)||(maxPrecoBeb!=null)) {
				
				List<Estabelecimento> estabelecimentos = EstabelecimentoBO.getInstance().consultar(cidade,bairro,prato,minPrecoPrato,maxPrecoPrato,classificacao,minPrecoBeb,maxPrecoBeb);
				request.getSession().setAttribute("estabelecimentos", estabelecimentos);
				
				rd = request.getRequestDispatcher("/pages/rotulo/listarRestaurantes.jsp");
				
			} else {
				request.setAttribute("comando", comando);
				rd = request.getRequestDispatcher("/pages/rotulo/consultarRestaurante.jsp");
			}
			
			rd.forward(request, response);
			
			
		} catch (Exception e) {
			response.sendRedirect("erroGeral.jsp?tituloPagina=Consultar Restaurante&mensagem=Erro na consulta de restaurante! Detalhe: " + e.getMessage());
		}
		
	}
	
	@Override
	protected void alterar(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	protected void excluir(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	protected void incluir(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		// TODO Auto-generated method stub
		
	}

}
